package Datos;

import java.io.Serializable;
import java.util.*;

/**
 *
 * Grupo de descargas perteneciente a un Tema.
 *
 * @author Mikel&Igor
 */
public class GrupoDescargas implements Serializable
{
    private String identificador; //"Nombre" del grupo de descargas
    private ArrayList<String> listaEnlaces; //Lista con todos los enlaces

    /**
     * Constructor por defecto. No usado.
     * @deprecated
     */
    public GrupoDescargas(){
        listaEnlaces= new ArrayList<String>();
    }

    /**
     * Constructor al que se le pasa el nombre.
     *
     * @param identificador El nombre del grupo de descargas.
     */
    public GrupoDescargas(String identificador)
    {
        this.identificador = identificador;
        //Iniciamos a vacía la lista
        listaEnlaces= new ArrayList<String>();
    }

    /**
     * Getter. Devuelve el identificador del Grupo de Descargas, un nombre
     * obtenido al procesar un tema de un foro.
     *
     * @return El identificador.
     */
    public String getIdentificador()
    {
        return identificador;
    }

    /**
     *
     * Setter. Configura el identificador o "nombre" del Grupo de Descargas.
     *
     * @param identificador El nuevo nombre.
     */
    public void setIdentificador(String identificador)
    {
        this.identificador = identificador;
    }

    /**
     * Devuelve la lista completa de enlaces pertenecientes a un grupo de
     * descargas.
     *
     * @return Lista completa con todos los enlaces.
     */
    public ArrayList<String> getListaEnlaces()
    {
        return listaEnlaces;
    }

    /**
     *
     * Añade un enlace al grupo de descargas.
     *
     * @param enlace El enlace a añadir.
     */
    public void addEnlace(String enlace)
    {
        listaEnlaces.add(enlace);
    }

    /**
     * Convierte el grupo de descargas en un string
     * @return Un string que muestra el GD.
     */
    @Override
    public String toString()
    {
        int i;
        String returnValue="\n\n"+identificador;

        for(i=0;i<listaEnlaces.size();i++)
            returnValue+="\n"+listaEnlaces.get(i);

        return returnValue;
    }
}
